473922633ce8ed39c143c632c6ba0dbb50886467,xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/DomainObjectFactory.java,DomainObjectFactory,fillPageSummary,#PageSummary#ObjectFactory#URI#Document#boolean#XWiki#Boolean#,265
Before Change
if (parent != null) {
String parentUri =
UriBuilder.fromUri(baseUri).path(PageResource.class)
.build(parent.getWiki(), parent.getSpace(), parent.getName()).toString();
Link parentLink = objectFactory.createLink();
parentLink.setHref(parentUri);
parentLink.setRel(Relations.PARENT);
pageSummary.getLinks().add(parentLink);
}
String historyUri =
UriBuilder.fromUri(baseUri).path(PageHistoryResource.class)
.build(doc.getWiki(), doc.getSpace(), doc.getName()).toString();
Link historyLink = objectFactory.createLink();
historyLink.setHref(historyUri);
historyLink.setRel(Relations.HISTORY);
pageSummary.getLinks().add(historyLink);
if (!doc.getChildren().isEmpty()) {
String pageChildrenUri =
UriBuilder.fromUri(baseUri).path(PageChildrenResource.class)
.build(doc.getWiki(), doc.getSpace(), doc.getName()).toString();
Link pageChildrenLink = objectFactory.createLink();
pageChildrenLink.setHref(pageChildrenUri);
pageChildrenLink.setRel(Relations.CHILDREN);
pageSummary.getLinks().add(pageChildrenLink);
}
if (!doc.getComments().isEmpty()) {
String commentsUri;
if (useVersion) {
commentsUri =
UriBuilder.fromUri(baseUri).path(CommentsVersionResource.class)
.build(doc.getWiki(), doc.getSpace(), doc.getName(), doc.getVersion()).toString();
} else {
commentsUri =
UriBuilder.fromUri(baseUri).path(CommentsResource.class)
.build(doc.getWiki(), doc.getSpace(), doc.getName()).toString();
}
Link commentsLink = objectFactory.createLink();
commentsLink.setHref(commentsUri);
commentsLink.setRel(Relations.COMMENTS);
pageSummary.getLinks().add(commentsLink);
}
if (!doc.getAttachmentList().isEmpty()) {
String attachmentsUri;
if (useVersion) {
attachmentsUri =
UriBuilder.fromUri(baseUri).path(AttachmentsAtPageVersionResource.class)
.build(doc.getWiki(), doc.getSpace(), doc.getName(), doc.getVersion()).toString();
} else {
attachmentsUri =
UriBuilder.fromUri(baseUri).path(AttachmentsResource.class)
.build(doc.getWiki(), doc.getSpace(), doc.getName()).toString();
}
Link attachmentsLink = objectFactory.createLink();
After Change
}
/* This method is used to fill the "common part" of a Page and a PageSummary */
private static void fillPageSummary(PageSummary pageSummary, ObjectFactory objectFactory, URI baseUri,
Document doc, boolean useVersion, XWiki xwikiApi, Boolean withPrettyNames) throws XWikiException
{
pageSummary.setWiki(doc.getWiki());
pageSummary.setFullName(doc.getFullName());
pageSummary.setId(doc.getPrefixedFullName());
pageSummary.setSpace(doc.getSpace());
pageSummary.setName(doc.getName());
pageSummary.setTitle(doc.getDisplayTitle());
pageSummary.setXwikiRelativeUrl(doc.getURL("view"));
pageSummary.setXwikiAbsoluteUrl(doc.getExternalURL("view"));
pageSummary.setTranslations(createTranslations(objectFactory, baseUri, doc));
pageSummary.setSyntax(doc.getSyntaxId());
pageSummary.setVersion(doc.getVersion());
pageSummary.setAuthor(doc.getAuthor());
if (withPrettyNames) {
pageSummary.setAuthorName(xwikiApi.getUserName(doc.getAuthor(), false));
}
Document parent = Utils.getParentDocument(doc, xwikiApi);
pageSummary.setParent(doc.getParent());
// parentId must not be set if the parent document does not exist.
if (parent != null && !parent.isNew()) {
pageSummary.setParentId(parent.getPrefixedFullName());
} else {
pageSummary.setParentId("");
}
String spaceUri = uri(baseUri, SpaceResource.class, doc.getWiki(), doc.getSpace());
Link spaceLink = objectFactory.createLink();
spaceLink.setHref(spaceUri);
spaceLink.setRel(Relations.SPACE);
pageSummary.getLinks().add(spaceLink);
if (parent != null) {
String parentUri = uri(baseUri, PageResource.class, parent.getWiki(), parent.getSpace(), parent.getName());
Link parentLink = objectFactory.createLink();
parentLink.setHref(parentUri);
parentLink.setRel(Relations.PARENT);
pageSummary.getLinks().add(parentLink);
}
String historyUri = uri(baseUri, PageHistoryResource.class, doc.getWiki(), doc.getSpace(), doc.getName());
Link historyLink = objectFactory.createLink();
historyLink.setHref(historyUri);
historyLink.setRel(Relations.HISTORY);
pageSummary.getLinks().add(historyLink);
if (!doc.getChildren().isEmpty()) {
String pageChildrenUri =
uri(baseUri, PageChildrenResource.class, doc.getWiki(), doc.getSpace(), doc.getName());
Link pageChildrenLink = objectFactory.createLink();
pageChildrenLink.setHref(pageChildrenUri);
pageChildrenLink.setRel(Relations.CHILDREN);
pageSummary.getLinks().add(pageChildrenLink);
}
if (!doc.getComments().isEmpty()) {
String commentsUri;
if (useVersion) {
commentsUri =
uri(baseUri, CommentsVersionResource.class, doc.getWiki(), doc.getSpace(), doc.getName(),
doc.getVersion());
} else {
commentsUri = uri(baseUri, CommentsResource.class, doc.getWiki(), doc.getSpace(), doc.getName());
}
Link commentsLink = objectFactory.createLink();
commentsLink.setHref(commentsUri);
commentsLink.setRel(Relations.COMMENTS);
pageSummary.getLinks().add(commentsLink);
}
if (!doc.getAttachmentList().isEmpty()) {
String attachmentsUri;
if (useVersion) {
attachmentsUri =
uri(baseUri, AttachmentsAtPageVersionResource.class, doc.getWiki(), doc.getSpace(), doc.getName(),
doc.getVersion());
} else {
attachmentsUri = uri(baseUri, AttachmentsResource.class, doc.getWiki(), doc.getSpace(), doc.getName());
}
Link attachmentsLink = objectFactory.createLink();